package top.lshaci.learning.pdfqr;

/**
 * PdfQrContent
 *
 * @author lshaci
 * @version 1.0.3
 * @since 1.0.3
 */
public class PdfQrSize {

    /**
     * PdfQrSize 类用于设置和管理PDF中的二维码大小
     * 它通过封装PdfQrData和PdfQrLocation对象来实现对二维码大小的配置
     */
    private final PdfQrData data;

    /**
     * qrLocation 用于确定二维码在PDF中的位置
     * 它是通过PdfQrData初始化的，以便位置信息与二维码数据保持一致
     */
    private final PdfQrLocation qrLocation;

    /**
     * 构造函数用于初始化PdfQrSize实例
     * 它接收一个PdfQrData对象作为参数，用于配置二维码的初始状态
     *
     * @param data 包含二维码配置信息的对象
     */
    PdfQrSize(PdfQrData data) {
        this.data = data;
        this.qrLocation = new PdfQrLocation(data);
    }

    /**
     * qrSize 方法用于设置二维码的大小
     * 它允许通过一个整数参数来定义二维码的尺寸，并返回PdfQrLocation对象，以便进行进一步的位置配置
     *
     * @param qrSize 二维码的大小，这是一个整数值，表示二维码的尺寸
     * @return 返回PdfQrLocation对象，用于配置二维码的位置
     */
    public PdfQrLocation qrSize(int qrSize) {
        data.qrSize = qrSize;
        return qrLocation;
    }
}
